//
//  LoginProtocol.swift
//  imprint
//
//  Created by 小柠檬🍋 on 2025/1/10.
//

import Foundation
import SwiftUI

protocol ConfigProtocol {
    
    func getFolderConfig()  async throws -> FolderConfig
    
    func saveFolderConfig(bean: FolderConfig) async throws
    //创建主目录
    func createMainFolderDB(folder:CloudFolderBean?) async throws
    
    func clearRoleList()
    
    //获取ai角色列表, 
    func getAiRole(roleId: String?) async throws -> AiRoleBean
        
    //获取ai选中的角色列表
    func getSelectAiRoleList() async throws -> [AiRoleBean]
    
    //获取ai角色列表
    func getAiRoleList(_ force: Bool) async throws -> [AiRoleBean]
    
    func addAiRole(bean: AiRoleBean, isAdd: Bool) async throws -> AiRoleBean
    
    func delAiRole(bean: AiRoleBean) async throws
    //选择ai人设
    func selectAiRole(list : [AiRoleBean]) async throws
    
    //标签列表
    func getTagList() async throws -> [TagBean]
    
    func upload(image: UIImage, name: String) async throws -> CloudPictureBean
    
    func upload(url: URL, name: String) async throws -> CloudPictureBean
    
    func delUrl(fileId: String) async throws
    
    //获取可上传容量
    func getUploadCapacity() -> Int
    //检查是否可上传
    func checkCloudCapacity() -> Bool
    //设置常聊
    func setOften(roleId: String?) async throws
    func getOften() async throws -> String?
}
